/*
 * 百度在线网络技术（北京）有限公司拥有本软件版权2021并保留所有权利。
 * Copyright 2021, Baidu.com,Inc 2:Baidu Online Network Technology (Beijing) Co.,Ltd,
 * All rights reserved.
 */

package com.azdebugit.jvm.zhuangtaiji._1;

import static com.azdebugit.jvm.zhuangtaiji._1.State.*;

public class Test {
    /*
    * @Description: 分类
    F(S) -> (A, S’) 型状态机：下一状态只由当前状态决定
    F(S, E) -> (A, S’) 型状态机：下一状态不但与当前状态有关，还与当前输入值有关
    通过映射表实现状态机
    * @Param: @param null
    * @return:
    * @Author: itdebug
    * @Date: 2021/3/31
    */
    public static void main(String[] args) {
        Machine machine = new Machine();

        machine.transform(APPROVE, Event.APPROVE_REFUSED,new Context(" 1通过1 "));
        machine.transform(REFUSED,Event.RECHECK_REFUSED,new Context(" 2复审拒绝2 "));
        machine.transform(REFUSED,Event.RECHECK_PASS,new Context(" 3复审通过3 "));
    }
}
